package com.work.dto.builder;

import java.util.Date;

import com.work.dto.SprintDto;
import com.work.model.builder.Builder;

/**
 * The Class SprintDtoBuilder.
 *
 * @author "Mihai Roman"
 */
public class SprintDtoBuilder extends Builder<SprintDto>{

	/**
	 * With id sprint.
	 *
	 * @param dtoIdSprints the dto id sprints
	 * @return the sprint dto builder
	 */
	private SprintDtoBuilder withIdSprint(int dtoIdSprints) {
		build().setDtoIdSprints(dtoIdSprints);
		return this;
	}
	
	/**
	 * With created by.
	 *
	 * @param dtoCreatedBy the dto created by
	 * @return the sprint dto builder
	 */
	private SprintDtoBuilder withCreatedBy(int dtoCreatedBy) {
		build().setDtoCreatedBy(dtoCreatedBy);
		return this;
	}
	
	/**
	 * With creation date.
	 *
	 * @param dtoCreationDate the dto creation date
	 * @return the sprint dto builder
	 */
	private SprintDtoBuilder withCreationDate(Date dtoCreationDate) {
		build().setDtoCreationDate(dtoCreationDate);
		return this;
	}
	
	/**
	 * With duration.
	 *
	 * @param dtoDuration the dto duration
	 * @return the sprint dto builder
	 */
	private SprintDtoBuilder withDuration(int dtoDuration) {
		build().setDtoDuration(dtoDuration);
		return this;
	}
	
	/**
	 * With end date.
	 *
	 * @param dtoEndDate the dto end date
	 * @return the sprint dto builder
	 */
	private SprintDtoBuilder withEndDate(Date dtoEndDate) {
		build().setDtoEndDate(dtoEndDate);
		return this;
	}
	
	/**
	 * With id project.
	 *
	 * @param dtoIdProject the dto id project
	 * @return the sprint dto builder
	 */
	private SprintDtoBuilder withIdProject(int dtoIdProject) {
		build().setDtoIdProject(dtoIdProject);
		return this;
	}
	
	/**
	 * With name.
	 *
	 * @param dtoName the dto name
	 * @return the sprint dto builder
	 */
	private SprintDtoBuilder withName(String dtoName) {
		build().setDtoName(dtoName);
		return this;
	}
	
	/**
	 * With start date.
	 *
	 * @param dtoStartDate the dto start date
	 * @return the sprint dto builder
	 */
	private SprintDtoBuilder withStartDate(Date dtoStartDate) {
		build().setDtoStartDate(dtoStartDate);
		return this;
	}
	
	/**
	 * With updated by.
	 *
	 * @param dtoUpdatedBy the dto updated by
	 * @return the sprint dto builder
	 */
	private SprintDtoBuilder withUpdatedBy(int dtoUpdatedBy) {
		build().setDtoUpdatedBy(dtoUpdatedBy);
		return this;
	}
	
	/**
	 * With updated date.
	 *
	 * @param dtoUpdatedDate the dto updated date
	 * @return the sprint dto builder
	 */
	private SprintDtoBuilder withUpdatedDate(Date dtoUpdatedDate) {
		build().setDtoUpdatedDate(dtoUpdatedDate);
		return this;
	}
}
